<template>
	<view>
		<z-paging ref="paging" :auto="false" v-model="dataList" @query="queryList">
			<!-- 需要固定在顶部不滚动的view放在slot="top"的view中，如果需要跟着滚动，则不要设置slot="top" -->
			<!-- 注意！此处的z-tabs为独立的组件，可替换为第三方的tabs，若需要使用z-tabs，请在插件市场搜索z-tabs并引入，否则会报插件找不到的错误 -->
			<template #top>
				<view class="p30">
					<view class="">
						<u--form labelPosition="left" :model="queryForm" ref="uForm" labelWidth="120">
							<u-form-item label="请选择所属仓库" @click="showSex = true">
								<view class="aCenter"
									style="background-color: #FFF;padding-top: 6px;padding-bottom: 6px;padding-left: 9px;padding-right: 9px; border-radius: 4px; border: 0.5px solid #dadbde;">
									<u--input v-model="queryForm.name" border="none" disabled disabledColor="#ffffff"
										placeholder="请选择所属仓库"></u--input>
									<u-icon slot="right" name="arrow-right"></u-icon>
								</view>
							</u-form-item>
							<u-form-item label="请输入查询名称">
								<view class="" style="background-color: #FFF;">
									<u--input v-model="queryForm.productName" placeholder="请输入查询名称"></u--input>
								</view>
							</u-form-item>
						</u--form>
						<u-action-sheet :show="showSex" :actions="actions" title="请选择所属仓库" @close="showSex = false"
							@select="sexSelect">
						</u-action-sheet>
						<view class="jCenter">
							<view class="btn" @click="handleQuery">
								查询
							</view>
						</view>
					</view>
				</view>
			</template>


			<view class="p30 content">
				<view class="flex item">
					<view class="bold" style="flex: 1;">
						名称
					</view>
					<view class="bold" style="flex: 1;">
						库存
					</view>
				</view>
				<view class="flex item" v-for="(item, index) in dataList" :key="index">
					<view class="" style="flex: 1; text-align: center;">
						{{ item.productName }}
					</view>
					<view class="" style="flex: 1; text-align: center;">
						{{ item.currentInventory }}
					</view>
				</view>
			</view>
		</z-paging>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				dataList: [],
				queryForm: {
					type: '',
					productName: ''
				},
				showSex: false,
				actions: [{
					name: '成品',
					type: 1
				}, {
					name: '半成品',
					type: 2
				}, {
					name: '辅材',
					type: 3
				}],
			};
		},
		methods: {
			handleQuery() {
				if(!this.queryForm.type) return this.$msg.error('请选择仓库')
				this.$refs.paging.reload();
				
			},
			queryList(pageNo, pageSize) {
				//组件加载时会自动触发此方法，因此默认页面加载时会自动触发，无需手动调用
				//这里的pageNo和pageSize会自动计算好，直接传给服务器即可
				//模拟请求服务器获取分页数据，请替换成自己的网络请求
				const formData = {
					type: this.queryForm.type,
					productName: this.queryForm.productName
				}

				// this.$refs.paging.complete([1, 2, 3, 4, 5, 6]);

				this.$api.getInventoryListApi(formData).then(res => {
					//将请求的结果数组传递给z-paging
					console.log(res)
					this.$refs.paging.complete(res.data);
				}).catch(res => {
					console.log(res)
					//如果请求失败写this.$refs.paging.complete(false);
					//注意，每次都需要在catch中写这句话很麻烦，z-paging提供了方案可以全局统一处理
					//在底层的网络请求抛出异常时，写uni.$emit('z-paging-error-emit');即可
					this.$refs.paging.complete(false);
				})
			},

			sexSelect(e) {
				this.queryForm.name = e.name
				this.queryForm.type = e.type
			},
		}
	}
</script>

<style lang="scss" scoped>
	.input_moon {
		width: 400rpx;
		height: 50rpx;
		background-color: #FFF;
		border-radius: 10rpx;
		border: 1rpx solid #BFBFBF;
		margin-right: 12rpx;
	}

	.btn {
		height: 50rpx;
		width: 120rpx;
		text-align: center;
		line-height: 50rpx;
		background-color: #EAF5FF;
		color: #92C5F5;
		border-radius: 10rpx;
		border: 1rpx solid #92C5F5;
	}

	.content {
		background-color: #FFF;
	}

	.bold {
		font-weight: bold;
		text-align: center;
	}

	.item {
		// height: 65rpx;
		line-height: 65rpx;
		border-bottom: 1rpx solid #BBBBBB;
	}
</style>